getattr, setattr {python}

DRF Example

update 메서드에서 validated_data에 모든 키와 값 쌍을 items()로 불러온 뒤 순회하면서 setattr 해주는 것을 볼 수 있다.

from rest_framework import serializers
from myapp.models import YourModel

class YourModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = YourModel
        fields = ['id', 'field1', 'field2']  # Specify the fields you want to update

    def update(self, instance, validated_data):
        # Perform the update
        for attr, value in validated_data.items():
            setattr(instance, attr, value)
        instance.save()
        return instance